Spread-spectrum communication systems are well known in the art and widely deployed. A class of receivers well suited for use in spread-spectrum systems—such as those standardized in IS-95, IS-2000 (cdma2000), and the 3rd-Generation Partnership Project's (3GPP) Wideband Code-Division Multiple Access (W-CDMA) specifications—is the linear interference-whitening (LIW) receiver. LIW receivers suppress interference in addition to collecting signal energy for detection. One form of the LIW receiver is a transversal chip equalizer; another is a G-Rake receiver. The Rake receiver derives its name from its rake-like structure, wherein multiple receiver “fingers” are used to receive multiple signal images in a received multipath signal. By coherently combining the finger outputs in a weighted Rake combiner, the conventional Rake receiver can use multipath reception to improve the Signal to Interference-plus-Noise Ratio (SINR) of the received signal. A Generalized Rake (G-Rake) receiver improves interference suppression performance over a conventional Rake receiver, using more sophisticated generation of the combining weights.
Recently, 2×2 Multiple-input Multiple-Output (MIMO) technology has been standardized in Release 7 of the 3GPP specifications. The standardized scheme, referred to as Dual-Transmit Adaptive Arrays (D-TxAA), is similar to selective per-antenna rate control (S-PARC), except that adaptive unitary preceding is applied to each of the data streams, in this case to each of one or two High-Speed Downlink Shared Channel (HS-DSCH) data streams.
D-TxAA can be viewed as an extension of the previously standardized closed-loop-mode-1 (CL-1) transmit diversity scheme, in that the preceding vectors (which map a data stream to the multiple transmit antennas) used for each of the D-TxAA data streams are selected from the same codebook used for CL-1. In contrast to CL-1, however, D-TxAA includes two modes of operation—single-stream mode and dual-stream mode. In single-stream mode, one of the four possible precoding vectors from the CL-1 codebook is applied to a single data stream. In dual-stream mode, orthogonal pairs of precoding vectors (again selected from the CL-1 codebook) are applied to the two data streams. The use of preceding has a significant impact on the receiver, and in particular complicates the design of LIW receivers such as Rake receivers.
In a co-pending patent application titled “Receiver Parametric Covariance Estimation for Precoded MIMO Transmissions,” U.S. patent application Ser. No. 12/036,323 (the “Grant” application), the entire contents of which are incorporated by reference herein, a MIMO G-Rake receiver operating at the symbol level is disclosed that is based upon the most general G-Rake formulation for MIMO. For a 2×2 MIMO scenario, this receiver computes impairment covariance matrices corresponding to the first and second streams of a dual-stream precoded signal as:Rstream1=R+αPC(2)heff(b2)heffH(b2)  (1)andRstream2=R+αPC(1)heff(b1)heffH(b1)  (2)
Here, R is that portion of the impairment covariance not including the code-reuse interference. In other words, R captures impairment covariance arising from inter-symbol interference (ISI), multiple access interference (MAI), and noise. The second term in each expression is the code-reuse interference term.
In equations (1) and (2), the code-reuse interference term is a function of the effective net response corresponding to the interfering stream. For stream 1, for example, the interfering stream is stream 2, and the code-reuse term is a function of heff(b2); for stream 2, the interfering stream is stream 1, and the code-reuse term is a function of heff(b1). The vectors b1 and b2 are the preceding vectors applied to streams 1 and 2, respectively.
More particularly, if n indexes data streams, then the effective net response vector corresponding to the nth stream is given by:
                                                        h              eff                        ⁡                          (                              b                n                            )                                =                                                    b                                  1                  ⁢                  n                                            ⁢                              h                1                                      +                                          b                                  2                  ⁢                  n                                            ⁢                                                                                          γ                      p                                        ⁡                                          (                      1                      )                                                                                                  γ                      p                                        ⁡                                          (                      2                      )                                                                                  ⁢                              h                2                                                    ,                            (        3        )            where bn=[b1n b2n]T is the preceding vector applied to the nth data stream. The vector hm is the net channel response associated with the mth transmit antenna (m=1 or 2). Each element of the net response vector hm corresponds to a given Rake finger. For example, for finger f (associated with delay df and receive antenna l), the corresponding net channel response vector element is given by:
                                                        h              m                        ⁡                          (              f              )                                =                                    ∑                              p                =                0                                            P                -                1                                      ⁢                                                            g                  m                                ⁡                                  (                                      p                    ,                    l                                    )                                            ⁢                                                R                                      TX                    /                    RX                                                  ⁡                                  (                                                            d                      f                                        -                                          τ                      p                                                        )                                                                    ,                            (        4        )            where P is the number of paths, gm(p,l) is the channel estimate (medium response) associated with transmit antenna m, receive antenna l and path delay τp, and RTX/RX(τ) represents the convolution of the transmit and receive pulse shaping filters.
In equations (1) and (2), the code-reuse terms include a scaling factor, αPC(n), representing the per-code energy allocated to interfering stream n. Assuming uniform power distribution across channelization codes, the per-code energy for the nth stream is given by:
                                          α                          P              ⁢                                                          ⁢              C                                ⁡                      (            n            )                          =                              (                          1                                                                    γ                    p                                    ⁡                                      (                    1                    )                                                  ⁢                                  N                  p                                                      )                    ⁢                      (                                          N                s                            K                        )                    ⁢                                    γ              d                        ⁡                          (              n              )                                ⁢                                    Γ                              D                /                P                                      .                                              (        5        )            Here, K is the number of channelization codes used for each data stream (and is the same for each stream) and ΓD/P is the ratio of the power allocated to the data channel (in the W-CDMA specifications, the High-Speed Downlink Shared Channel, or HS-DSCH) to the total power allocated to the pilot channels (in W-CDMA, the Common Pilot Channel, or CPICH). The quantity γd(n) denotes the fraction of the total data power allocated to the nth data stream, and γp(1) denotes the fraction of the total pilot power allocated to the first transmit antenna. The quantities Ns and Np represent the spreading factors used for the data channel (typically sixteen) and the pilot channel (typically 256), respectively.
Given the preceding construction, the per-code energies αPC(1) and αPC(2) are needed by a receiver to compute the stream-specific covariance matrices Rstream1 and Rstream2. Typically, all of the quantities in equation (5) are known to the receiver, with the possible exception of the data-to-pilot power ratio ΓD/P. In the UMTS specifications, a provision exists for explicit signaling of the data-to-pilot power ratio. In this case, a mobile station may simply obtain a value for ΓD/P via a downlink control channel, and compute the per-code energies αPC(n) directly, using equation (5). Another possible approach, where a value for ΓD/P cannot be obtained by signaling, is to simply use a pre-determined, nominal value for ΓD/P. However, both of these approaches suffer in accuracy. In the first case, a value for ΓD/P obtained by explicit signaling can rapidly become out of date, since specifications currently call for signaling ΓD/P on an infrequent basis. In the second case, the computed values for ΓD/P may be very inaccurate when the actual data-to-pilot ratio strays significantly from the nominal, “assumed” value. Hence, methods for estimating per-code energies αPC(n), or alternatively, for estimating a value for ΓD/P in order to facilitate calculation of the per-code energies, are needed.